Method and apparatus for determining distance in a wi-fi network

ABSTRACT

A method and apparatus for improving the accuracy of a round trip time (RTT) estimate between a first device and a second device are disclosed. The method involves calculating an acknowledgement correction factor and a unicast correction factor. These correction factors are used to compensate for symbol boundary time errors resulting from multipath effects.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of, and claims priority under 35 USC120, to co-pending and commonly-owned U.S. patent application Ser. No.13/297,202 filed on Nov. 15, 2011 and entitled “METHOD AND APPARATUS FORDETERMINING DISTANCE IN A WI-FI NETWORK,” the entirety of which isincorporated herein.

TECHNICAL FIELD

The present embodiments relate to determining distance in acommunication network such as Wi-Fi Network.

BACKGROUND OF RELATED ART

In Wi-Fi communication networks, there are many known techniques forestimating the distance between a mobile device and a wireless accesspoint. For example, the mobile device (e.g., a cell phone or tabletcomputer) can use the received signal strength indicator (RSSI)corresponding to the access point as a rough approximation of thedistance between the mobile device and the access point, where astronger RSSI means that the mobile device is closer to the access pointand a weaker RSSI means that the mobile device is further from theaccess point. The mobile device can also use the round trip time (RTT)of signals transmitted to and from the access point to calculate thedistance between the mobile device and the access point, where the RTTvalue indicates the total signal propagation time of a unicast signalsent from the mobile device to the access point and a correspondingacknowledgement signal sent from the access point back to the mobiledevice.

When performing distance measurements using Wi-Fi networks, issues suchas hidden nodes, imbalanced interference, and/or differences in responsetimes between various make-and-models of mobile devices can adverselyaffect accuracy. For example, hidden nodes in Wi-Fi networks, which cancause interference that degrades distance measurement accuracy, occurswhen a node is visible from a wireless access point (AP), but notvisible from other nodes communicating with the AP. Further, imbalancedinterference and/or multipath effects associated with the physicalsurroundings of the devices (e.g., physical obstructions between and/ornear the devices) can cause different components of the unicast and/oracknowledgment signals to undesirably arrive at respective devices atdifferent times, which in turn further reduces the accuracy of distancemeasurements using RTT techniques.

Thus, it is desirable to improve the accuracy of distance measurementsin Wi-Fi networks.

BRIEF DESCRIPTION OF THE DRAWINGS

The present embodiments are illustrated by way of example and are notintended to be limited by the figures of the accompanying drawings,where:

FIG. 1 shows a Wi-Fi system including a first mobile device A and asecond mobile device B separated by a distance D.

FIG. 2 illustrates the effects of imbalanced interference in amulti-path environment.

FIG. 3A shows the transmission of a unicast packet from device A todevice B, and depicts different components of the unicast packetarriving at device B at different times.

FIG. 3B further shows the transmission of an acknowledgement packet fromdevice B to device A, and depicts different components of theacknowledgement packet arriving at device A at different times.

FIG. 4 shows a functional block diagram of one embodiment of the mobiledevices of FIG. 1.

FIG. 5A depicts a power delay profile of a signal transmitted withoutcyclic shift diversity.

FIG. 5B depicts a power delay profile of a signal transmitted withcyclic shift diversity.

FIG. 6 depicts the maximal value position in a power delay profile withcyclic shift diversity.

FIG. 7 is a flowchart depicting an exemplary operation for improving theaccuracy of distance measurements between two mobile devices inaccordance with some embodiments.

FIG. 8 is a flowchart depicting an exemplary operation for improving theaccuracy of distance measurements between two mobile communicationdevices in accordance with other embodiments.

Like reference numerals refer to corresponding parts throughout thedrawing figures.

DETAILED DESCRIPTION

A method and apparatus are disclosed for improving the accuracy ofdistance measurements between two wireless (e.g., mobile) communicationdevices. In the following description, numerous specific details are setforth such as examples of specific components, circuits, and processesto provide a thorough understanding of the present disclosure. Also, inthe following description and for purposes of explanation, specificnomenclature is set forth to provide a thorough understanding of thepresent embodiments. However, it will be apparent to one skilled in theart that these specific details may not be required to practice thepresent embodiments. In other instances, well-known circuits and devicesare shown in block diagram form to avoid obscuring the presentdisclosure. As used herein, the terms packets and signals may beinterchangeable because a packet is transmitted from one wireless deviceto another wireless device via RF signals. Thus, the present embodimentsare not to be construed as limited to specific examples described hereinbut rather to include within their scopes all embodiments defined by theappended claims.

The present embodiments disclose a method and apparatus for improvingthe accuracy of distance measurements between two (or more) mobiledevices by compensating for the effects of unbalanced interferenceand/or multipath effects associated with the physical surroundings ofthe devices. For some embodiments, an acknowledgement correction factor(CORR_ACK) and/or a unicast correction factor (CORR_UNC) can becalculated (e.g., in one or more of the devices) to compensate forsymbol boundary time errors resulting from a complex multipathenvironment (e.g., physical obstructions between and/or near thedevices) when measuring distances using RTT techniques. The correctionfactors can be generated using either a one-sided correction techniqueor a two-sided correction technique. In the one-sided correctiontechnique, only the acknowledgement correction factor is used, and inthe two-sided correction technique, both the acknowledgement correctionfactor and the unicast correction factor are used. Although thetwo-sided correction technique is typically more accurate than theone-sided correction technique, the two-sided correction technique mayrequire both devices to employ symbol boundary timing techniques, whilethe one-sided correction technique may require only one of the device toemploy symbol boundary timing techniques.

More specifically, in the one-sided correction technique, theacknowledgement correction factor (CORR_ACK) can be calculated in thefirst device, and the measured RTT value can be adjusted using CORR_ACK.Calculation of the correction factor CORR_ACK can be based on a varietyof factors including, for example, the percent of successful unicastpackets, the RSSI values of the device(s), the device's modulationcoding schedule (MCS), and/or cyclic shift diversity (CSD) values. Inthe two-sided correction technique, the acknowledgement correctionfactor (CORR_ACK) can be calculated in the first device, the unicastcorrection factor (CORR_UNC) can be calculated in the second device, andthe measured RTT value can be adjusted using CORR_ACK and CORR_UNC. Forthe two-sided technique, the CORR_UNC factor can be transmitted from thesecond device to the first device so that the first device can adjustthe measured RTT value using both CORR_ACK and CORR_UNC.

A unicast signal or packet may be defined as a communication sent from afirst device to a second device (e.g., as opposed to being sent tomultiple other devices). When a unicast packet is sent from a firstdevice A to a second device B, the second device B typically sends anacknowledgment packet back to device A. The propagation times of theunicast signal and the acknowledgement signal can be used to calculatethe distance between device A and device B.

For example, FIG. 1 shows a system 100 having first device A and seconddevice B separated by a distance D, and depicts a unicast signal (UNC)transmitted from device A to device B and a corresponding acknowledgmentsignal (ACK) transmitted from device B back to device A. The propagationtimes of the unicast and acknowledgment signals can be used to calculatethe distance D between wireless devices A and B. For some embodiments,devices A and B are mobile communication devices (e.g., cell phone,laptops, and/or tablet computers) that can communication with each otherand/or with wireless access points using Wi-Fi communication protocolsdefined by the IEE 802.11 family of standards.

More specifically, the round trip time (RTT) between devices A and Brepresents the total time elapsed from the time that device A sends theunicast packet to device B to the time that device A receives theacknowledgement packet from device B. The time at which device Atransmits the unicast packet is referred to herein as the time ofdeparture (TOD), and the time at which device A receives theacknowledgement packet from device B is referred to herein as the timeof arrival (TOA). For some exemplary embodiments described herein, theTOD can be a time stamp of when the unicast packet departs device A, andthe TOA can be a time stamp of when the acknowledgement packet isreceived by device A. Accordingly, the difference between the TOA andthe TOD can be used as an approximate of the RTT associated with thepropagation of the unicast and acknowledgment signals exchanged betweendevice A and device B, where RTT≅TOA−TOD.

However, the RTT includes not only the actual signal propagation timeperiods of the unicast and acknowledgment signals, but also processingdelays associated with device B responding to the unicast signaltransmitted by device A. More specifically, the RTT can be expressed as:

RTT=t _(pn) +t _(del)≅TOA−TOD   (1)

where t_(pn) represents the summation of the travel time of the unicastsignal transmitted from device A to device B and the travel time of theacknowledgement signal from device B to device A, and t_(del) is thedelay associated with device B receiving the unicast packet from deviceA and, in response thereto, transmitting the acknowledgment packet backto device A.

Thus, the distance D between device A and device B in FIG. 1 can beexpressed as:

D=c*t _(pn)/2=c*(RTT−t _(del))/2   (2)

where c is the speed of light.

For some embodiments, t_(del) can include the Short InterFrame Space(SIFS) time interval associated with device B, as defined by the 802.11standard, and/or can include the Reduced InterFrame Space (RIFS) timeinterval associated with device B, as defined by the 802.11 n standard.The values for t_(del) typically vary between different wireless devices(even those manufactured by the same company) because different deviceshaving various chipsets and/or chipset configurations can have differentresponse times associated with transmitting an acknowledgment signal inresponse to a unicast signal. Not knowing the exact response time of aparticular wireless device introduces inaccuracies in the measured RTT.Indeed, because of the relatively short broadcast range of Wi-Fitransmissions (e.g., typically less than 30 meters) in relation to thepropagation speed of the Wi-Fi signals, inaccuracies in the measured RTTresulting from unknown variations in the devices' response times canlead to large errors in the distance calculations.

For some embodiments, various RTT characteristics (e.g., the delay time(t_(del)) associated with processing connection requests and its boot-uptime) of various make-and-models of wireless devices can be retrievedfrom an RTT characteristics database accessible by the devices, forexample, as described in co-pending and commonly-owned U.S. patentapplication Ser. No. 13/109,481 entitled “Wi-Fi ACCESS POINTCHARACTERISTICS DATABASE,” the entirety of which is incorporated byreference herein. For one such embodiment, the RTT characteristics of aparticular device can be retrieved from the database by providing theMAC address of the device as a look-up value to the database. Forexample, device A can determine the MAC address of device B as follows.First, device A transmits a probe request to device B to retrieve itsidentification information. For example, device A may broadcast proberequests on several different channels until it finds the channel onwhich device B is configured to operate. Alternatively, both the devicesA and B may be pre-configured to operate on the same channel for rangingpurposes. Then, device B responds to the probe request by transmitting aprobe response back to device A. The probe response includesidentification information (e.g., a MAC address) associated with thesecond device B.

The RTT value can also be affected by imbalanced interference ormultipath effects that causes different components of the unicast signalto arrive at device B at different times and/or that causes differentcomponents of the acknowledgement signal to arrive at device A atdifferent times. For example, FIG. 2 illustrates a system 200 havingfirst device A and second device B with imbalanced interference in amulti-path environment. Device A transmits a signal (e.g., a unicastsignal) to device B. A first component 205A of the transmitted signaltravels directly towards second device B through an interference source(e.g., an object or other obstacle) 210 positioned between device A anddevice B. The interference source may attenuate signal component 205A,and the resulting attenuated signal component 205A′ is received bysecond device B. Thus, for the present example, the attenuated signalcomponent 205A′ has a lower magnitude than the original signal component205A.

A second component 205B of the transmitted signal is transmittedindirectly towards second device B via a reflector 220, which results ina reflected signal component 205B′ being received by second device B. Ifthe reflector 220 has a high quality factor, then the reflected signalcomponent 205B′ can have a magnitude that is approximately equal to themagnitude of original signal component 205. Thus, first attenuatedsignal component 205A′ arrives at second device B before the secondreflected signal component 205B′, and first attenuated signal component205A′ may have a magnitude that is less that the magnitude of secondreflected signal component 205B′.

FIGS. 3A and 3B depict the effects of unbalanced interference (e.g., asdescribed above with respect to FIG. 2) when calculating the distancebetween devices A and B of system 100. In FIG. 3A, device A is depictedtransmitting a unicast signal 301 to device B. Due to the effects of amulti-path environment, different components of signal 301 arrive atdevice B at different times. For example, a first signal component 301Aarrives at device B at time T1, while a second signal component 301Barrives at device B at time T2. Thus, the first and second signalcomponents 301A and 301B of the unicast signal can be used to calculatethe unicast correction factor as CORR_UNC=T2−T1 using circuitry (notshown for simplicity) within device B. Note that for purposes ofdiscussed herein, FIG. 3A depicts first signal component 301A as havinga smaller magnitude than second signal component 301B.

FIG. 3B further depicts device B transmitting an acknowledgment signal302 back to device A. Due to the effects of the multi-path environment,different components of signal 302 arrive at device A at differenttimes. For example, a first signal component 302A arrives at device A attime T3, while a second signal component 302B arrives at device A attime T4. Thus, the first and second signal components 302A and 302B ofthe acknowledgement signal can be used to calculate the acknowledgementcorrection factor as CORR_ACK=T4−T3 using circuitry (not shown forsimplicity) within device A. Note that for purposes of discussed herein,FIG. 3B depicts first signal component 302A as having a smallermagnitude than second signal component 302B.

Thus, in accordance with some embodiments, components of signal 301 canbe used to determine the unicast correction factor (CORR_UNC) in seconddevice B, and components of signal 302 can be used to determine theacknowledgment correction factor (CORR_ACK) in first device A.Thereafter, in a one-sided correction technique, CORR_ACK can be used tomore accurately calculate the RTT between device A and device B, and ina two-sided correction technique, both CORR_ACK and CORR_UNC can be usedto more accurately calculate the RTT between device A and device B. Forthe two-sided correction technique, the value of CORR_UNC can betransmitted from device B to device A (e.g., by embedding the value ofCORR_UNC in the acknowledgment signal 302). In this manner, device A canhave values for both CORR_UNC and CORR_ACK to perform the two-sidedcorrection technique.

As mentioned above, unicast and acknowledgment correction factors(CORR_UNC and CORR_ACK) can be used to compensate for unbalancedinterference and/or multi-path effects. More specifically, RTT can nowbe expressed as:

RTT=TOA−TOD−CORR_UNC−CORR_ACK−K   (3)

where K is a constant that can embody the processing delays t_(del).

FIG. 4 shows a functional block diagram of a mobile communication device410 that is one embodiment of mobile devices A and B of FIG. 1. Themobile device 410 includes a controller 412, a receiver/transmitter 414,and a processor 416. The receiver/transmitter 414 includes circuitry fortransmitting and receiving wireless data signals according to Wi-Fi orother known wireless protocols. The controller 412 enables the mobiledevice 410 to perform distance measurements, for example, by configuringthe receiver/transmitter 414 to broadcast probe requests (e.g., on oneor more wireless channels) and listen for probe responses to detect thepresence of another mobile device within range of the mobile device 410.The controller 412 can also retrieve identification information fromreceived probe responses, and can configure the receiver/transmitter 414to transmit a unicast packet to the other device.

The processor 416 can determine the distance between mobile device 410and the other mobile device (not shown for simplicity) using RTTtechniques discussed above. For example, when the receiver/transmitter414 transmits a unicast packet to the other mobile device, the processor416 can detect and store the time instant (e.g., TOD) at which theunicast packet is transmitted from the mobile device 410. Similarly,when the receiver/transmitter 414 receives an acknowledgment packet fromthe other mobile device, the processor 416 can also detect and store thetime instant (e.g., TOA) at which the acknowledgment packet is receivedat mobile device 410. The processor 416 can then calculate the RTT valuebased on the TOA, TOD, and the correction factors, as described abovewith respect to Equation 2, and thereafter determine the distance D tothe other mobile device.

Referring again to FIG. 1, if both device A and device B support symbolboundary timing, then the two-sided correction technique can be used tocalculate the value of RTT using equation (2). Conversely, if device Bdoes not support symbol boundary timing, then the one-sided correctiontechnique can be used, where the value of CORR_ACK is substituted forCORR_UNC, as expressed below:

RTT=TOA−TOD−2×(CORR_ACK)−K   (4)

If the uplink and downlink channels between devices A and B aresymmetric, then the values of CORR_ACK and CORR_UNC may be approximatelyequal to each other. There can be several reasons that cause the uplinkand downlink channels to lack symmetry including, for example, imbalanceinterference, different CSD values, and a different number of antennason devices A and B. For purposes of this disclosure, the term“approximately” means that there is minimal ranging error. For example,when the ranging error is less than 3 m, then the difference betweenCORR_ACK and CORR_UNC is less than 20 ns.

If the uplink and downlink channels between devices A and B are notsymmetric, for example, where device A is a 1T1R (one transmitter andone receiver) device and the second device B is a 2T2R (two transmittersand two receivers) device, then embodiments of the present disclosurecan compensate for channel asymmetry as follows. First, device A sends apublic action frame to inform device B to begin distance measurements.The public action frame can include a predetermined code indicating theconfiguration of the transmit/receive (Tx/Rx) circuitry and antenna(s)of device A, as known in the art. For some embodiments, the publicaction frame can be a special unicast management frame that does notinclude regular data. In response thereto, device B can enter acalibration mode, and can configure its Tx/Rx circuitry and antenna(s)in response to the configuration information received from device A.Next, device A sends the unicast packet to device B, and device Bresponds with an acknowledgment packet so that device A can determineone or more RTT values indicative of the distance between device A anddevice B. Finally, device A sends another public action frame thatcauses device B to complete the distance measurement operation, andthereafter device B returns to its normal operating mode. It should benoted that when device B is operating in the calibration mode, it maynot be able to support normal Wi-Fi operations (e.g., operations otherthan distance measurements).

As mentioned above, calculation of the correction factors CORR_ACK andCORR_UNC can be based upon a variety of factors including, for example,the percent of successful unicast packets, the RSSI values of thedevices, each device's configuration (e.g., the number of antennas,transmitters, and receivers in the device), each device's modulationcoding schedule (MCS), and/or each device's cyclic shift diversity (CSD)values.

For example, for some embodiments, if the RSSI of devices A and B aredetectable and are sufficiently high to enable distance measurement(e.g., if devices A and B are relatively close to each other), and ifthe percentage of successful unicast packets transmitted from device Ato device B is lower than a selected threshold value T_(UNC), then thecalculated values for the correction factors CORR_UNC and CORR_ACK canbe ignored. For one embodiment, the RSSI values can be used instead ofthe correction factors to perform distance measurements between thedevices if the unicast packet loss rate is less than approximately 10⁻²and/or the RSSI value is greater than a predetermined threshold value.For other embodiments, a specific MCS setting can be estimated basedupon the device's RSSI (which can indicate how close the other deviceis), and if the percentage of successful unicast packets transmittedfrom device A to device B is lower than the selected threshold valueT_(UNC), then the calculated values for the correction factors CORR_UNCand CORR_ACK can be ignored. For example, if devices A and B arerelatively close to each other (e.g., as may be determined by RSSIinformation), then the devices may select a different MCS to allow forincreased data throughput. The selection of the different (and typicallymore complicated) MCS for “close-range” applications is usuallydependent upon better signal to noise ratios, and therefore are usuallyapplicable only when the RSSI values are relatively high. Correctionfactors can take into account the specific MCS settings of the devicesto increase accuracy of the RTT estimate.

Thus, for some embodiments, if the MCS and packet length change, aselected number of OFDM symbol periods can be set as a correction value(CV) and then either added or subtracted from the measured RTT value.More specifically, if the packet frame length becomes larger as comparedwith the packet frame length used for calibration, then the resultingcorrection value is subtracted from the measured RTT value. Conversely,if the frame length becomes smaller as compared with the frame lengthused for calibration, then the resulting correction value is added tothe measured RTT value.

When device A and device B are MIMO devices that employ CSD techniques,then each of their transmit chains will typically have a different CSDvalue, which in turn can be compensated for by making adjustments to themeasured RTT value. Indeed, in a MIMO wireless device, all signals to betransmitted from the device have a different amount of delay applied toeach transmitter antenna, wherein one of the signals is not delayed. Forone example, in a 2×2 MIMO device, the first transmit chain typicallyhas a CSD value of zero (e.g., indicating no CSD delay value), and thesecond transmit chain typically has a CSD value of 200 ns (e.g., asspecified by the IEEE 802.11 standards). For another example, in a 3×3MIMO device, the first transmit chain typically has no CSD value (e.g.,no delay), the second transmit chain typically has a CSD value of 200ns, and the third transmit chain typically has a CSD value of 400 ns. Inthis manner, each of a plurality of signals transmitted from differentchains of the same device is incrementally delayed by a specified CSDvalue to achieve signal diversity. Of course, when receiving multiplesignals from a MIMO device, the incremental delays between the signalscan undesirably lead to errors in calculating the RTT value between thetwo devices.

For one embodiment, one device can determine whether a particular CSDvalue can be assumed for the other device, or whether the CSD value forthe other device needs to be determined. For some embodiments,information indicating the other device's Tx/Rx configuration (e.g., thenumber of transmit chains) can be extracted from the other device'sbeacon signal, for example, to determine whether the other devicesupports multiple spatial streams. If the other device supports multiplespatial streams, which can indicate that the other device includesmultiple Tx/Rx chains, then the CSD value may be a predetermined value(e.g., a multiple of 200 ns) defined by the 802.11 standards. If theother device employs CSD techniques, then the maximal cyclic shift valuecan be set as the correction value (CV) and subtracted from the measuredRTT value. For example, if device A and device B both include twotransmitters and one receiver (e.g., a 2T1R device) with a cyclic shiftvalue of 200 ns, then a correction value of 2*(200 ns)=400 ns can besubtracted from the measured RTT value. Note that the CSD value ismultiplied by 2 to account for signal propagation from the first deviceto the second device and then back to the first device.

For another embodiment, the shape of a power delay profile can be usedto determine whether the CSD value of a particular device can beassumed. In general, the power delay profile (PDP) gives the intensityof a signal received through a multipath channel as a function of timedelay. The time delay is the difference in travel time between multipatharrivals. For example, FIG. 5A is a graph 500 depicting a signal 501having an exponential decay for applications in which packets associatedwith the signal 501 do not include cyclic shift diversity, and FIG. 5Bis a graph 550 depicting a power delay profile of a signal 551 havingcomponents 551A and 551 B having an exponential decay for applicationsin which packets associated with signal 551 include cyclic shiftdiversity. For example, when the mobile device includes two transmitterchains and employs CSD, the power delay profile typically includes twocomponents, as depicted in FIG. 5B and FIG. 6, where the differencebetween the components can be in both magnitude and time delay. Notethat when packets do not include cyclic shift diversity, the power delayprofile typically monotonically decreases. In contrast, when packetsinclude cyclic shift diversity, the power delay profiles may notmonotonically decrease. Thus, in accordance with present embodiments, ifthe shape of power delay profile monotonically decreases, then it can beassumed that the corresponding device includes one or more CSD values.

In another approach, the CSD value of one device (e.g., device B) can beassigned to the other device (e.g., device A). For this approach, ifdevice A includes only one transmitter chain and device B includesmultiple transmitter chains, the CSD values may be ignored.

In another approach, the CSD values of a wireless device can be derivedusing a derivation operation described below with respect to a graph 600of FIG. 6. First, the maximal value position of the device isdetermined, and its associated power level (P1) is recorded. Next, atime period T1 corresponding to the CSD value is shifted from themaximal value position, and its power level (P2) is recorded. For anexemplary embodiment, the time period T1 is equal to approximately 200ns (e.g., as defined in the 802.11 standards). The power levels P1 andP2 are then compared to generate a power difference valueP_(diff)=P2−P1. If the power difference value P_(diff) is greater than apredetermined power level T_(power) (e.g., if P_(diff)>T_(power)), thenthe CSD values are ignored. Thus, if CSD does not exist, P2 will be thenoise power with a high probability, and thus P_(diff) should have arelatively large value.

In another approach, the CSD values can be derived by detecting whetherthe devices have different numbers of antennas. If so, then softwarewithin one of the devices (e.g., the second device) can be updated toallow for detection of the CSD value.

In another approach, the CSD values of each device can be determined andtransmitted to the other device.

FIG. 7 is an illustrative flowchart 700 depicting an exemplary one-sidedcorrection technique, in accordance with the present embodiments, toimprove the accuracy of distance measurements between first device A andsecond device B using RTT techniques. First, device A sends a unicastpacket to device B (701). In response thereto, device B sends anacknowledgement packet back to device A (702). Then, device A calculatesan acknowledgement correction factor (703). As described above, theacknowledgment correction factor can be used to compensate for theeffects of multi-path upon the acknowledgment signal sent from device Bto device A. Next, device A can selectively adjust the calculatedcorrection factor using one or more correction values (704). Asdescribed above, these correction values can compensate for differentCSD values of the devices, for changes in packet length and MCSsettings, and so on. Then, device A calculates the RTT of the unicastand acknowledgement signals exchanged between devices A and B (705). Forsome embodiments, device A can calculate RTT using equation (4) above.Finally, device A uses the RTT value to determine the distance betweendevices A and B (706). Note that steps 702-706 can be performed byprocessor 416 of device A (see also FIG. 4).

FIG. 8 is an illustrative flowchart 800 depicting an exemplary two-sidedcorrection technique, in accordance with the present embodiments, toimprove the accuracy of distance measurements between first device A andsecond device B using RTT techniques. First, device A sends a unicastpacket to device B (801). In response thereto, device B calculates aunicast correction factor (802). As described above, the unicastcorrection factor can be used to compensate for the effects ofmulti-path upon unicast signals transmitted from device A to device B.Next, device B can selectively adjust the calculated correction factorusing one or more correction values (803). As described above, thesecorrection values can compensate for different CSD values of thedevices, for changes in packet length and MCS settings, and so on. Next,device B embeds the unicast correction factor into an acknowledgementpacket, and transmits the acknowledgement packet back to device A (804).Then, device A calculates an acknowledgement correction factor (805). Asdescribed above, the acknowledgment correction factor can be used tocompensate for the effects of multi-path upon the acknowledgment signalssent from device B to device A. Next, device A can selectively adjustthe calculated correction factor using one or more correction values(806). As described above, these correction values can compensate fordifferent CSD values of the devices, for changes in packet length andMCS settings, and so on. Then, device A calculates the RTT of theunicast and acknowledgement signals exchanged between devices A and B(807). For some embodiments, device A can calculate RTT using equation(3) above. Finally, device A uses the RTT value to determine thedistance between devices A and B (808). Note that steps 802-804 can beperformed by processor 416 of device B, and steps 805-808 can beperformed by processor 416 of device A (see FIG. 4).

In the foregoing specification, the present embodiments have beendescribed with reference to specific exemplary embodiments thereof. Itwill, however, be evident that various modifications and changes may bemade thereto without departing from the broader scope of the disclosureas set forth in the appended claims. The specification and drawings are,accordingly, to be regarded in an illustrative sense rather than arestrictive sense.

What is claimed is:
 1. A method for improving accuracy of a round trip time (RTT) value indicative of a distance between a first device and a second device, the method performed by the first device and comprising: transmitting a unicast packet to the second device; receiving an acknowledgment packet from the second device; determining an acknowledgment correction factor (CORR_ACK) that is to compensate for multipath effects upon the acknowledgment packet, wherein determining the acknowledgment correction factor further comprises: determining a cyclic shift diversity (CSD) value for the second device; and subtracting a selected multiple of the determined CSD value from the acknowledgment correction factor; and adjusting the RTT value based on the acknowledgment correction factor.
 2. The method of claim 1, wherein the RTT value is calculated as TOA−TOD−2×CORR_ACK−K, wherein TOA is a time of arrival of the acknowledgment packet at the first device, TOD is a time of departure of the unicast packet from the first device, and K is a constant that embodies processing delays associated with a processor of the second device.
 3. The method of claim 1, further comprising: ignoring the acknowledgment correction factor when a percentage of the unicast packets successfully transmitted to the second device is lower than a percentage.
 4. The method of claim 1, further comprising: ignoring the acknowledgment correction factor when an RSSI value of either the first device or the second device is greater than a value.
 5. The method of claim 1, further comprising: determining a unicast correction factor (CORR_UNC) that is to compensate for multipath effects upon the unicast packet, wherein the RTT value is further adjusted based on the unicast correction factor.
 6. The method of claim 5, wherein the RTT value is calculated as TOA−TOD−CORR_UNC−CORR_ACK−K, wherein TOA is a time of arrival of the acknowledgment packet at the first device, TOD is a time of departure of the unicast packet from the first device, and a K is a constant that embodies processing delays associated with a processor of the second device.
 7. The method of claim 5, wherein the unicast correction factor is embedded in the acknowledgment packet.
 8. The method of claim 5, wherein determining the unicast correction factor further comprises: determining a CSD value associated with the first device; and subtracting a selected multiple of the CSD value associated with the first device from the unicast correction factor.
 9. The method of claim 5, further comprising: substituting the unicast correction factor for the acknowledgement correction factor when the second device does not support symbol boundary timing.
 10. The method of claim 1, wherein the first device and the second device are mobile communication devices.
 11. A mobile communication device for improving accuracy of a round trip time (RTT) value indicative of a distance between the mobile communication device and another device, the mobile communication device comprising: means for transmitting a unicast packet to the other device; means for receiving an acknowledgment packet from the other device; means for determining an acknowledgment correction factor (CORR_ACK) that is to compensate for multipath effects upon the acknowledgment packet, wherein the acknowledgment correction factor is determined by: determining a cyclic shift diversity (CSD) value for the other device; and subtracting a selected multiple of the determined CSD value from the acknowledgment correction factor; and means for adjusting the RTT value based on the acknowledgment correction factor.
 12. The mobile communication device of claim 11, wherein the RTT value is calculated as TOA−TOD−2×CORR_ACK−K, wherein TOA is a time of arrival of the acknowledgment packet at the mobile communication device, TOD is a time of departure of the unicast packet from the mobile communication device, and K is a constant that embodies processing delays associated with a processor of the other device.
 13. The mobile communication device of claim 11, further comprising: means for ignoring the acknowledgment correction factor when a percentage of the unicast packets successfully transmitted to the other device is lower than a percentage.
 14. The mobile communication device of claim 11, further comprising: means for ignoring the acknowledgment correction factor when an RSSI value of either the mobile communication device or the other device is greater than a value.
 15. The mobile communication device of claim 11, further comprising: means for determining a unicast correction factor (CORR_UNC) that is to compensate for multipath effects upon the unicast packet, wherein the RTT value is further adjusted based on the unicast correction factor.
 16. The mobile communication device of claim 15, wherein the RTT value is calculated as TOA−TOD−CORR_UNC−CORR_ACK−K, wherein TOA is a time of arrival of the acknowledgment packet at the mobile communication device, TOD is a time of departure of the unicast packet from the mobile communication device, and a K is a constant that embodies processing delays associated with a processor of the other device.
 17. The mobile communication device of claim 15, wherein the unicast correction factor is embedded in the acknowledgment packet.
 18. The mobile communication device of claim 15, wherein the means for determining the unicast correction factor is to: determine a CSD value associated with the mobile communication device; and subtract a selected multiple of the CSD value associated with the mobile communication device from the unicast correction factor.
 19. The mobile communication device of claim 15, further comprising: means for substituting the unicast correction factor for the acknowledgement correction factor when the other device does not support symbol boundary timing.
 20. The mobile communication device of claim 11, wherein the other device comprises a second mobile communication device.
 21. A mobile communication device to improve accuracy of a round trip time (RTT) value indicative of a distance between the mobile communication device and another device, the mobile communication device including a processor to perform steps comprising: transmitting a unicast packet to the other device; receiving an acknowledgment packet from the other device; determining an acknowledgment correction factor (CORR_ACK) that is to compensate for multipath effects upon the acknowledgment packet, wherein the acknowledgment correction factor is determined by: determining a cyclic shift diversity (CSD) value for the other device; and subtracting a selected multiple of the determined CSD value from the acknowledgment correction factor; and adjusting the RTT value based on the acknowledgment correction factor.
 22. The mobile communication device of claim 21, wherein the RTT value is calculated as TOA−TOD−2×CORR_ACK−K, wherein TOA is a time of arrival of the acknowledgment packet at the mobile communication device, TOD is a time of departure of the unicast packet from the mobile communication device, and K is a constant that embodies processing delays associated with a processor of the other device.
 23. The mobile communication device of claim 21, further comprising: ignoring the acknowledgment correction factor when a percentage of the unicast packets successfully transmitted to the other device is lower than a percentage.
 24. The mobile communication device of claim 21, further comprising: ignoring the acknowledgment correction factor when an RSSI value of either the mobile communication device or the other device is greater than a value.
 25. The mobile communication device of claim 21, further comprising: determining a unicast correction factor (CORR_UNC) that is to compensate for multipath effects upon the unicast packet, wherein the RTT value is further adjusted based on the unicast correction factor.
 26. The mobile communication device of claim 25, wherein the RTT value is calculated as TOA−TOD−CORR_UNC−CORR_ACK−K, wherein TOA is a time of arrival of the acknowledgment packet at the mobile communication device, TOD is a time of departure of the unicast packet from the mobile communication device, and a K is a constant that embodies processing delays associated with a processor of the other device.
 27. The mobile communication device of claim 25, wherein the unicast correction factor is embedded in the acknowledgment packet.
 28. The mobile communication device of claim 25, wherein determining the unicast correction factor further comprises: determining a CSD value associated with the mobile communication device; and subtracting a selected multiple of the CSD value associated with the mobile communication device from the unicast correction factor.
 29. The mobile communication device of claim 25, further comprising: substituting the unicast correction factor for the acknowledgement correction factor when the other device does not support symbol boundary timing.
 30. The mobile communication device of claim 21, wherein the other device comprises a second mobile communication device. 